//
// @Author: zhengqi Wu
// @Description: 定义网络包应该实现哪些和分区交互的接口
// @Version: 1.0.0
// @Date: 2021/3/3 18:07
// @Copyright: MIN-Group；国家重大科技基础设施——未来网络北大实验室；深圳市信息论与未来网络重点实验室
//
/**
 * 定义了一个网络包应该实现哪些和分区交互的接口
 */
class InteractWithFiled{
    constructor() {
        //
        // 将包的属性填充到网络包的四个分区当中
        //
        // @Description:
        // @return error
        //
        if(!this.fillDataToFields){
            throw new Error("InteractWithFiled's must support fillDataToFields!");
        }
        //
        // 从网络包的四个分区当中提取出特定网络包的相关属性
        //
        // @Description:
        // @return error
        //
        if(!this.extraDataFromFields){
            throw new Error("InteractWithFiled's must support extraDataFromFields!");
        }
    }
}

module.exports = {
    InteractWithFiled: InteractWithFiled
}